A Design Pattern Language for Engineering (Parallel) Software

نویسنده

  • Kurt Keutzer
چکیده

The key to writing high quality parallel software is to develop a robust software design. This applies to the overall architecture of the program, but also to the lower layers in the software system where the concurrency and how it is expressed in the final program is defined. Technology to more systematically describe such designs and reuse them between software projects is the fundamental problem facing software for terascale processors. This is far more important than programming models and their supporting environments, since with a good design in hand, most any programming system can be used to actually generate the program’s source code.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Introduction to Design Patterns for Parallel Computing

The key to writing high quality parallel software is to develop a robust software design. This applies to the overall architecture of the program, but also to the lower layers in the software system where the concurrency and how it is expressed in the final program is defined. Technology to more systematically describe such designs and reuse them between software projects is the fundamental pro...

متن کامل

Cross-Platform Development of High Performance Applications Using Generic Programming

We investigate methods for creating highly portable parallel and distributed applications using the programming language C++. The paper elaborates on software engineering issues for efficiently mapping abstract class interfaces to system functionality — typically designed by applying the wrapper facade design pattern — on a large number of target platforms. We introduce a novel mapping techniqu...

متن کامل

Our Pattern Language (OPL): A Design Pattern Language for Engineering (Parallel) Software

The trend has been well established [Asanovic09]: parallel processors will dominate most if not every niche of computing. This move to parallelism was not a triumphant march forward to celebrate our success in creating productive and efficient software environments for parallel microprocessors. Instead it was a sudden retreat from the immediate danger of building powerinefficient microprocessor...

متن کامل

Process-Oriented Patterns for Concurrent Software Engineering

Concurrency is unavoidable in modern software development, owing to the increasing complexity of computer systems and the widespread use of parallel computer hardware. Conventional approaches to concurrency are fraught with danger: in particular, uncontrolled access to shared resources, poor scalability and the inability of the programmer to reason about the correctness of a program. Process-or...

متن کامل

PALLAS: Mapping Applications onto Manycore

Parallel programming using the current state-of-the-art in software engineering techniques is hard. Expertise in parallel programming is necessary to deliver good performance in applications; however, it is very common that domain experts lack the requisite expertise in parallel programming. In order to drive the computer science research toward effectively using the available parallel hardware...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2009